package com.lanou3g.code0427.study;

import com.lanou3g.code0427.util.JDBCUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * Created by dllo on 18/4/27.
 */
public class SQLTest {
    //防止SQL注入
    public static void main(String[] args) {
        Connection conn = JDBCUtil.getConn();
        String sql = "SELECT * FROM  users WHERE  username=?AND psd=?";
        try {
            //为了防止SQL注入
            //要使用 Statement的子类
            //PreparedStatement
            //它在使用的时候,SQL 不需要拼接字符串
            //而是使用? 作为变量的占位符
            //之后 调用setXXX的方法 去为每一个占位符设置内容
            PreparedStatement ps
                    = conn.prepareStatement(sql);
            // 1 代表SQL语句中的第一个 ?
            //"AA"代表这个? 对应的值
            ps.setString(1, "Aa");
            ps.setString(2, "123456");
            ResultSet rs = ps.executeQuery();
            if (rs.next()) {
                String word = rs.getString("word");
                System.out.println(word);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
